For network route control in TCP/IP (Transmission Control Protocol/Internet Protocol) or IEEE802.1, a method is typical in which autonomous route control is performed by route information exchange between communication devices.
On the other hand, in the autonomous route control between the communication devices, temporary inconsistency in the route information between the communication devices occurs, which brings about a problem of deterioration of network reliability.
As a method of addressing this problem, Patent Literature 1 (US 2006/0092974 A1) discloses a method of separating a control portion from a communication device and remotely controlling, by a control server having this control part mounted thereon, a plurality of communication devices having no control portion. Also it is known that by controlling routes of the plurality of communication devices by the control server, as compared with the autonomous route control in which route information is exchanged between the plurality of communication devices, route control with high reliability can be realized.
In addition, Non-Patent Literature 1 discloses the OpenFlow Protocol as a protocol that controls a communication device from a control server. According to the OpenFlow Protocol, the communication device has a forwarding table called a flow table, and the control server can add, rewrite and delete an entry to or from the forwarding table of the communication device.
The flow table is a table in which an entry defining a predetermined processing (action) to be performed on a packet matching a predetermined match condition (rule) is registered. A packet group (packet line) matching the rule is called a flow. The rule of the flow is defined by various combinations using any or all of a destination address, a source address, a destination port and a source port which are included in a header region of each protocol hierarchy of the packet, and is identifiable. The addresses described above include a MAC address (media access control address) and an IP address (Internet Protocol Address) Moreover, in addition to those described above, ingress port information can also be used as the rule of the flow.
Moreover, the communication device, for predetermined search information, performs matching of a traffic going through the communication device and an entry registered in a forwarding table, and when the pieces of search information (for example, destination IP addresses) included in the both match each other, forwards the traffic to a route in accordance with the entry. It is possible to perform the network route control from the control server by using, for example, the Open Flow Protocol.
In the case where the remote control of the communication device from the control server is performed, by using a well-known method, it is possible to suppress oscillation of route information caused due to change of the communication device. However, depending on timing when an entry is written into the forwarding table of the communication device from the control server, there is a possibility that a loop and discard of the traffic occur.
For example, the case where an entry is written into a forwarding table of a given communication device regardless of a forwarding route calculated by a control server will be described.
Referring to FIG. 1 as an example, in the case where, in a communication device 102A, when a certain entry of the forwarding table has been registered with its output destination defined as a communication device 102B as search information, and in the communication device 102B, an entry of the forwarding table containing this search information has already been registered with its output destination defined as the communication device 102A, then the traffic matching the condition is repeatedly reciprocated between the communication device 102A and the communication device 102B.
For example, assume that, in the communication device 102A, as search information, an entry has been registered which defines that an output destination of a packet having as header information a destination IP address “192.168.0.1/32” (“/32” denotes a network address length) is the communication device 102B. At this point, in the case where, in the communication device 102B, an entry has already been registered which defines that an output destination of a packet having as header information a destination IP address “192.168.0.0/8” is the communication device 102A, then a traffic destined to the IP address “192.168.0.1/32” is repeatedly reciprocated between the communication device 102A and the communication device 102B.
Moreover, for example, the case where an entry is written into a forwarding table of an arbitrary communication device 102 regardless of a forwarding route calculated by the control server will be described.
Referring to FIG. 1 as an example, in the case where, after a certain entry of a forwarding table is registered with its output destination defined as the communication device 102B in the communication device 102A, a new entry of a forwarding table cannot be registered in the communication device 102B, then a traffic matching the condition is discarded in the communication device 102B.
For example, in the case where, after an entry which defines an output destination of a packet having as header information as search information the destination IP address “192.168.0.1/32” is the communication device 102B has been registered in the communication device 102A, a new entry of a forwarding table cannot be registered in the communication device 102B, then a traffic destined to the IP address “192.168.0.1/32” is discarded in the communication device 102B.
A forwarding table controlled by the OpenFlow Protocol in Non-Patent Literature 1, as shown in FIG. 3, has search priorities. Even when a traffic matches search information on an entry with a low search priority, if it matches search information on an entry with a higher search priority, it is forwarded in accordance with the entry with the higher search priority.
Moreover, for example, the case where an entry of the forwarding table is registered onto each of the communication devices 102 in such a manner as to trace a communication path in reversed order starting from a communication device 102 located near a traffic-receiving terminal side will be described.
Referring to FIG. 1 as an example, entries of communication tables are registered in order of communication devices 102D, 102B, and 102A. However, assume that in the forwarding table of the communication device 102B, an entry of the forwarding table containing search information on an entry to be newly registered is registered with a higher search priority than that of the entry to be newly registered. In this case, in the communication device 102B, even when an new entry with a low search priority has been registered as search information with its output destination defined as the communication device 102D, the newly registered entry is not used as a traffic search result, and thus when an entry is registered in the communication device 102A with its output destination defined as the communication device 102B, a traffic matching condition is consequently repeatedly reciprocated between the communication device 102A and the communication device 102B.
For example, assume that in a forwarding table of the communication device 102B, an entry related to a traffic destined to the IP address “192.168.0.0/8” is registered with a higher search priority than that of an entry to be newly registered. In this case, even when in the communication device 102B, as search information, a new entry, in which a packet having a destination IP address “192.168.0.1/32” as header information is outputted to the communication device 102D with a low search priority, is registered, the newly registered entry is not used as a traffic search result. Thus, when in the communication device 102A, as search information, an entry, in which a packet having the destination IP address “192.168.0.1/32” as header information is outputted to the communication device 102B, is registered, a traffic matching the condition is repeatedly reciprocated between the communication device 102A and the communication device 102B.